#ifndef REGISTRODATOS_H
#define REGISTRODATOS_H

#include <ostream>
#include "IRegistro.h"


class RegistroDatos : public IRegistro {
	private:
		unsigned int _posRelativa;
		unsigned short int _reservado;

		virtual void ImprimirEn(std::ostream& out) const;

	public:
		RegistroDatos();
		RegistroDatos(std::string clave, unsigned int posRel, unsigned short int res = 0);
		virtual ~RegistroDatos();

		// Constructor copia: Necesario para que funcione un monton de cosas
		RegistroDatos(const IRegistro& r);

		unsigned int getPosEnDiccionario() const;
		void setPosEnDiccionario(unsigned int p);

		// Para la segunda entrega de TP
		unsigned short int getReservado() const;
		void setReservado(unsigned short int r);

		// IRegistro
		int getSize() const;
		int serializar(char* arrBytes);
		int desSerializar(char* arrBytes);
};


#endif
